Rethinking Packet Forwarding Hardware
نویسندگان
چکیده
For routers and switches to handle ever-increasing bandwidth requirements, the packet “fast-path” must be handled with specialized hardware. There have been two approaches to building such packet forwarding hardware. The first is to embed particular algorithms in hardware; this is what most commodity forwarding chips do (e.g., those from Broadcom, Marvell, and Fulcrum). These chips have led to amazing increases in performance and reductions in cost; for instance, one can now get 24 ports of gigabit ethernet for under $1000. Unfortunately, this approach offers only very rigid functionality; one can’t change protocols or add new features that require hardware acceleration without redoing the chip. This forces network forwarding enhancements to evolve on hardware design timescales, which are glacially slow compared to the rate at which network applications and requirements are changing. To counter this inflexibility, several vendors have taken a different approach by introducing more flexible “network processors”. These have not been as successful as anticipated, for at least two reasons. First, designers were never able to find a sweet-spot in the tradeoff between hardware simplicity and flexible functionality, so the performance/price ratios have lagged well behind commodity networking chips. For another, the interface provided to software has proven hard to use, requiring protocol implementors to painstakingly contort their code to the idiosyncrasies of the particular underlying hardware to achieve reasonable performance. These two problems (among others) have prevented general-purpose network processors from dislodging the more narrowly targeted commodity packet forwarding hardware that dominates the market today. In this paper, we step back from these two well-known approaches and ask more fundamentally: what would we want from packet forwarding hardware, how might we achieve it, and what burden does that place on networking software? Ideally, hardware implementations of the forwarding paths should have the following properties:
منابع مشابه
Enhanced Augmented IP Routing Protocol (EAIRP) in IPv6 Environment
Data link level forwarding provides simple and fast packet forwarding capability. One primary reason for the simplicity of layer 2 forwarding comes from its short, fixed length labels. A node forwarding at network layer must parse a relatively large header, and perform a longest-prefix match to determine a forwarding path. When a node performs layer 2 forwarding it can do direct index lookup in...
متن کاملAssessing Soft- and Hardware Bottlenecks in PC-based Packet Forwarding Systems
Due to grown capabilities of commodity hardware for packet processing and the high flexibility of software, the use of those systems as alternatives to expensive dedicated networking devices has gained momentum. However, the performance of such PC-based software systems is still low when compared to specialized hardware. In this paper, we analyze the performance of several packet forwarding sys...
متن کاملNetwork virtualization substrate with parallelized data plane
Network virtualization provides the ability to run multiple concurrent virtual networks over a shared substrate. However, it is challenging to design such a platform to host multiple heterogenous and often highly customized virtual networks. Not only high degree of flexibility is desired for virtual networks to customize their functions, fast packet forwarding is also required. This paper prese...
متن کاملFast Packet Forwarding on Commodity Platforms
Rather than using special-purpose hardware routers, software routers enable routing on commodity platforms. However, even with faster processors and multi-core platforms, the performance of software routers on commodity platforms today does not scale with high speed. We identify the limitations of commodity platforms by comparing them to high-end routers. In high end routers, each line card has...
متن کاملForwarding and Control Element Separation (ForCES) Packet Parallelization
Many network devices support parallel packet processing. This document describes how Forwarding and Control Element Separation (ForCES) can model a network device’s parallelization datapath using constructs defined by the ForCES model (RFC 5812) and controlled via the ForCES protocol (RFC 5810).
متن کامل